print('#############变量：动态变量，类型可变#############')
a = 1
print('a =', a)
print("a的地址", id(a))
a = 'string'
print('a =', a)
a = False
print('a =', a)
print('#############常量：大写字母表示，实质还是变量#############')
PI = 3.141582654
print('PI =', PI)
PI = '圆周率'
print('PI =', PI)
print('#############ord()函数获取字符的整数表示，chr()函数把编码转换为对应的字符#############')
print(ord('我'))
print(chr(25105))
print('#############bytes类型的数据用带b前缀的单引号或双引号表示#############')
print(b'abc')
print('#############通过encode()方法可以编码为指定的bytes，decode()可以解码bytes#############')
print("我是字符串".encode('utf-8'))
print(b'\xe6\x88\x91\xe6\x98\xaf\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2'.decode("utf-8"))
print("我是字符".encode('utf-8'))
print("我是字".encode('utf-8'))
print("我是".encode('utf-8'))
print("我".encode('utf-8'))
print('abc'.encode('utf-8'))
print('abc'.encode('ascii'))
print(b'\xe6\x88\x91'.decode("utf-8"))
print(b'\xe6\x88\x91\x87'.decode("utf-8", errors='ignore'))
print('#############len()方法显示字符串的长度#############')
print('我是', '占用字节', len('我是'))
print("'我是'.encode('utf-8')", '我是'.encode('utf-8'), '占用字节', len('我是'.encode('utf-8')))
print('#############格式化字符串%#############')
print('Hello ,%s' % "World!")
print('%2d - %.2d - %.2f' % (100, 100, 100.98))
print('%2d-%04d' % (3, 1))
print('%.2f' % 3.1415926)
print(
    '#############小明的成绩从去年的72分提升到了今年的85分，请计算小明成绩提升的百分点，并用字符串格式化显示出\'xx.x%\'，只保留小数点后1位#############')
print('%s的成绩从去年的%d分提升到了今年的%d分，成绩提升的百分点 %% %.2f' % ('小明', 72, 85, (85 - 72) / 72 * 100))
print(
    '{0}的成绩从去年的{1}分提升到了今年的{2}分，成绩提升的百分点 % {3:.2f}'.format('小明', 72, 85, (85 - 72) / 72 * 100))
